Microsoft Robotics Studio
   HOME

TheInfoList



OR:

Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a discontinued
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
-based environment for
robot A robot is a machine—especially one programmable by a computer—capable of carrying out a complex series of actions automatically. A robot can be guided by an external control device, or the control may be embedded within. Robots may be c ...
control and
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of Conceptual model, models; the model represents the key characteristics or behaviors of the selected system or proc ...
that was aimed at academic, hobbyist, and commercial developers and handled a wide variety of robot hardware. It required the Microsoft
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009. It is the successor to Windows Vista, released nearly ...
operating system or later. RDS is based on CCR (
Concurrency and Coordination Runtime Concurrency and Coordination Runtime (CCR) is an asynchronous programming library based on .NET Framework from Microsoft distributed with Microsoft Robotics Developer Studio (MRDS). Even though it comes with MRDS, it is not limited to modelling rob ...
): a .NET-based concurrent library implementation for managing asynchronous parallel tasks. This technique involves using message-passing and a lightweight services-oriented runtime, DSS (Decentralized Software Services), which allows the orchestration of multiple services to achieve complex behaviors. Features include: a
visual programming In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
tool,
Microsoft Visual Programming Language Microsoft Visual Programming Language, or VPL, is a visual programming and dataflow programming language developed by Microsoft for the Microsoft Robotics Studio. VPL is based on the event-driven and data-driven approach. The programming langua ...
for creating and debugging robot applications,
web-based A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
and windows-based interfaces, 3D simulation (including
hardware acceleration Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcula ...
), easy access to a robot's
sensor A sensor is a device that produces an output signal for the purpose of sensing a physical phenomenon. In the broadest definition, a sensor is a device, module, machine, or subsystem that detects events or changes in its environment and sends ...
s and
actuator An actuator is a component of a machine that is responsible for moving and controlling a mechanism or system, for example by opening a valve. In simple terms, it is a "mover". An actuator requires a control device (controlled by control signal) a ...
s. The primary programming language is C#. Microsoft Robotics Developer Studio includes support for packages to add other services to the suite. Those currently available include Soccer Simulation and Sumo Competition by Microsoft, and a community-developed Maze Simulator, a program to create worlds with walls that can be explored by a virtual
robot A robot is a machine—especially one programmable by a computer—capable of carrying out a complex series of actions automatically. A robot can be guided by an external control device, or the control may be embedded within. Robots may be c ...
, and a set of services for
OpenCV OpenCV (''Open Source Computer Vision Library'') is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez (which was later acquired by In ...
.


Components

There are four main components in RDS: * CCR (Concurrency and Coordination Runtime) * DSS (Decentralized Software Services) * VPL (Visual Programming Language) * VSE (Visual Simulation Environment) CCR and DSS are also available separately for use in commercial applications that require a high level of concurrency and/or must be distributed across multiple nodes in a network. This package is called the CCR and DSS Toolkit.


Tools

The tools that allow to develop an MRDS application contain a graphical environment (Microsoft Visual Programming Language : VPL) command line tools allow you to deal with Visual Studio projects (VS Express version is enough) in C#, and 3D simulation tools. *
Visual Programming Language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
is a graphical development environment that uses a service and activity catalog. ** They can interact graphically, a service or an activity is represented by a block that has inputs and outputs that just need to be dragged from the catalog to the diagram. ** Linking can be done with the mouse, it allows you to define if signals are simultaneous or not, permits you to perform operations on transmitted values... ** VPL also allows you to generate the code of new "macro" services from diagrams created by users. ** It is possible in VPL to easily customize services for different hardware elements. * RDS 3D simulation environment allows you to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine originally written by Ageia) that includes advanced physics. * There are several simulation environments in RDS. These environments were developed by SimplySim ** Apartment ** Factory ** Modern House ** Outdoor ** Urban * Many examples and tutorials are available for the different tools, which permits a fast understanding of MRDS. Several applications have been added to the suite, such as Maze Simulator, or Soccer Simulation which is developed by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
. * The
Kinect Kinect is a line of motion sensing input devices produced by Microsoft and first released in 2010. The devices generally contain RGB cameras, and infrared projectors and detectors that map depth through either structured light or time of flig ...
sensor can be used on a robot in the RDS environment. RDS also includes a simulated Kinect sensor. The Kinect Services for RDS are licensed for both commercial and non-commercial use. They depend on the Kinect for Windows SDK.


Notable applications

*
Princeton University Princeton University is a private university, private research university in Princeton, New Jersey. Founded in 1746 in Elizabeth, New Jersey, Elizabeth as the College of New Jersey, Princeton is the List of Colonial Colleges, fourth-oldest ins ...
's DARPA Urban Grand Challenge
autonomous car A self-driving car, also known as an autonomous car, driver-less car, or robotic car (robo-car), is a car that is capable of traveling without human input.Xie, S.; Hu, J.; Bhowmick, P.; Ding, Z.; Arvin, F.,Distributed Motion Planning for S ...
entry was programmed with MRDS. * MySpace uses MRDS's parallel computing foundation libraries, CCR and DSS, for a non-robotic application in the back end of their site. *
Indiana University Indiana University (IU) is a system of public universities in the U.S. state of Indiana. Campuses Indiana University has two core campuses, five regional campuses, and two regional centers under the administration of IUPUI. *Indiana Universit ...
uses MRDS in a non-robotic application to coordinate a high-performance computing network. * In 2008
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
launched a simulated
robotics Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
competition named RoboChamps using MRDS, four challenges were available : maze, sumo, urban, and Mars rover. the simulated environment and robots used by the competition were created by SimplySim and the competition was sponsored by
KIA Motors Kia Corporation, commonly known as Kia (, ; formerly known as Kyungsung Precision Industry and Kia Motors Corporation), is a South Korean multinational automobile manufacturer headquartered in Seoul, South Korea. It is South Korea's second lar ...
* The 2009
robotics Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
and
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
section of the
Imagine Cup Imagine Cup is an annual competition sponsored and hosted by Microsoft Corp. which brings together student developers worldwide to help resolve some of the world's toughest challenges. It is considered as "Olympics of Technology" by computer sc ...
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
competition uses MRDS visual simulation environment. The challenges of this competition were also developed by SimplySim and are improved versions of the RoboChamps challenges.


Critique

* The complication and overhead required to run MRDS prompted Princeton Autonomous Vehicle Engineering to convert their Prospect 12 system from MRDS to IPC++. * The main RDS4 website was last updated on 2012-06-29. (In fact, the product no longer exists).


Microsoft Robotics and the Future

Microsoft Robotics Developer Studio has not been updated or patched since version 4.0, which was released on March 8, 2012. On September 22, 2014, as part of Microsoft's restructuring plan, the Robotics division of Microsoft Research was suspended, according to a tweet from Ashley Feniello, a principal developer at Microsoft Robotics division of MSR (Microsoft Research). It is now highly unlikely that MRDS will ever be updated again, however forum members (MVPs) may still offer limited support.


See also

*
Player Project The Player Project (formerly the Player/Stage Project) is a project to create free software for research into robotics and sensor systems. Its components include the ''Player'' network server and the ''Stage'' robot platform simulators. Although ...
– used in research and post-secondary education (
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
and free) *
Webots Webots is a free and open-source 3D robot simulator used in industry, education and research. The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology ( EPFL) in Lausanne, Switzer ...
*
Project Chrono Project Chrono is a physics engine developed by University of Wisconsin-Madison and University of Parma and members of its open source community. It supports simulating rigid and soft body dynamics, collision detection, vehicle dynamics, fluid- ...
*
Concurrency and Coordination Runtime Concurrency and Coordination Runtime (CCR) is an asynchronous programming library based on .NET Framework from Microsoft distributed with Microsoft Robotics Developer Studio (MRDS). Even though it comes with MRDS, it is not limited to modelling rob ...
*
URBI Urbi is an open-source cross-platform software platform in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration langu ...
*
Robotic mapping Robotic mapping is a discipline related to computer vision and cartography. The goal for an autonomous robot is to be able to construct (or use) a map (outdoor use) or floor plan (indoor use) and to localize itself and its recharging bases or be ...
*
Robot software Robot software is the set of coded commands or instructions that tell a mechanical device and electronic system, known together as a robot, what tasks to perform. Robot software is used to perform autonomous tasks. Many software systems and framewo ...
*
Mobile Robot Programming Toolkit The Mobile Robot Programming Toolkit (MRPT) is a cross-platform and open source C++ library aimed to help robotics researchers to design and implement algorithms related to Simultaneous localization and mapping, Simultaneous Localization and Mappi ...
*
Arduino Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed unde ...
*
Robot Operating System Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous compu ...


References


Further reading

* * *


External links

*
Microsoft MSDN robotics pages

Microsoft Robotics Studio: An Introduction

Microsoft Robotics Studio Runtime – An Introduction

MRDS Codeplex Samples
(MRDS 2008 R3)
Additional Samples from Professional Robotics Developer Studio textbook
(MRDS 2008 R3)
Microsoft Robotics Studio Community - Turkey

Microsoft robotics newsgroup from Google Groups

Channel9 wiki page about Microsoft Robotics Studio

www.Conscious-Robots.com pages for MSRS (Microsoft Robotics Studio)

PhysX by Ageia Home
* Robubox's MSRS tutorials and simulator sample
Official Website

SimplySim : MRDS 3D simulation company

Imagine Cup 2009 : Robotics & Algorithm
{{Microsoft development tools Microsoft development tools Integrated development environments Robotics suites 2006 software 2006 in robotics